package com.iris.live.services.data.models;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * Created by HangLiu on 2017/3/7.
 */
@Entity
@Table(name = "lsh保险设置", schema = "live", catalog = "")
public class Lsh保险设置Model {
    private Integer 险种编号;
    private Integer 保险公司编号;
    private String 许可;
    private Integer 车型编号;
    private String 车型平均价格;
    private String 险种;
    private String 参数;
    private BigDecimal 保费;
    private String 是否不计免赔;
    private BigDecimal 不计免赔;
    private String 是商业险;
    private String 保险附加参数;
    private String 客户类别;
    private String 保险方案备注;
    private String 更新账号;
    private Timestamp 更新时间;

    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "险种编号")
    public Integer get险种编号() {
        return 险种编号;
    }

    public void set险种编号(Integer 险种编号) {
        this.险种编号 = 险种编号;
    }

    @Basic
    @Column(name = "保险公司编号")
    public Integer get保险公司编号() {
        return 保险公司编号;
    }

    public void set保险公司编号(Integer 保险公司编号) {
        this.保险公司编号 = 保险公司编号;
    }

    @Basic
    @Column(name = "许可")
    public String get许可() {
        return 许可;
    }

    public void set许可(String 许可) {
        this.许可 = 许可;
    }

    @Basic
    @Column(name = "车型编号")
    public Integer get车型编号() {
        return 车型编号;
    }

    public void set车型编号(Integer 车型编号) {
        this.车型编号 = 车型编号;
    }

    @Basic
    @Column(name = "车型平均价格")
    public String get车型平均价格() {
        return 车型平均价格;
    }

    public void set车型平均价格(String 车型平均价格) {
        this.车型平均价格 = 车型平均价格;
    }

    @Basic
    @Column(name = "险种")
    public String get险种() {
        return 险种;
    }

    public void set险种(String 险种) {
        this.险种 = 险种;
    }

    @Basic
    @Column(name = "参数")
    public String get参数() {
        return 参数;
    }

    public void set参数(String 参数) {
        this.参数 = 参数;
    }

    @Basic
    @Column(name = "保费")
    public BigDecimal get保费() {
        return 保费;
    }

    public void set保费(BigDecimal 保费) {
        this.保费 = 保费;
    }

    @Basic
    @Column(name = "是否不计免赔")
    public String get是否不计免赔() {
        return 是否不计免赔;
    }

    public void set是否不计免赔(String 是否不计免赔) {
        this.是否不计免赔 = 是否不计免赔;
    }

    @Basic
    @Column(name = "不计免赔")
    public BigDecimal get不计免赔() {
        return 不计免赔;
    }

    public void set不计免赔(BigDecimal 不计免赔) {
        this.不计免赔 = 不计免赔;
    }

    @Basic
    @Column(name = "是商业险")
    public String get是商业险() {
        return 是商业险;
    }

    public void set是商业险(String 是商业险) {
        this.是商业险 = 是商业险;
    }

    @Basic
    @Column(name = "保险附加参数")
    public String get保险附加参数() {
        return 保险附加参数;
    }

    public void set保险附加参数(String 保险附加参数) {
        this.保险附加参数 = 保险附加参数;
    }

    @Basic
    @Column(name = "客户类别")
    public String get客户类别() {
        return 客户类别;
    }

    public void set客户类别(String 客户类别) {
        this.客户类别 = 客户类别;
    }

    @Basic
    @Column(name = "保险方案备注")
    public String get保险方案备注() {
        return 保险方案备注;
    }

    public void set保险方案备注(String 保险方案备注) {
        this.保险方案备注 = 保险方案备注;
    }

    @Basic
    @Column(name = "更新账号")
    public String get更新账号() {
        return 更新账号;
    }

    public void set更新账号(String 更新账号) {
        this.更新账号 = 更新账号;
    }

    @Basic
    @Column(name = "更新时间")
    public Timestamp get更新时间() {
        return 更新时间;
    }

    public void set更新时间(Timestamp 更新时间) {
        this.更新时间 = 更新时间;
    }

    @PrePersist
    @PreUpdate
    public void onPreUpdate() {
        this.set更新时间(new Timestamp(System.currentTimeMillis()));
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Lsh保险设置Model that = (Lsh保险设置Model) o;

        if (险种编号 != null ? !险种编号.equals(that.险种编号) : that.险种编号 != null) return false;
        if (保险公司编号 != null ? !保险公司编号.equals(that.保险公司编号) : that.保险公司编号 != null) return false;
        if (许可 != null ? !许可.equals(that.许可) : that.许可 != null) return false;
        if (车型编号 != null ? !车型编号.equals(that.车型编号) : that.车型编号 != null) return false;
        if (车型平均价格 != null ? !车型平均价格.equals(that.车型平均价格) : that.车型平均价格 != null) return false;
        if (险种 != null ? !险种.equals(that.险种) : that.险种 != null) return false;
        if (参数 != null ? !参数.equals(that.参数) : that.参数 != null) return false;
        if (保费 != null ? !保费.equals(that.保费) : that.保费 != null) return false;
        if (是否不计免赔 != null ? !是否不计免赔.equals(that.是否不计免赔) : that.是否不计免赔 != null) return false;
        if (不计免赔 != null ? !不计免赔.equals(that.不计免赔) : that.不计免赔 != null) return false;
        if (是商业险 != null ? !是商业险.equals(that.是商业险) : that.是商业险 != null) return false;
        if (保险附加参数 != null ? !保险附加参数.equals(that.保险附加参数) : that.保险附加参数 != null) return false;
        if (客户类别 != null ? !客户类别.equals(that.客户类别) : that.客户类别 != null) return false;
        if (保险方案备注 != null ? !保险方案备注.equals(that.保险方案备注) : that.保险方案备注 != null) return false;
        if (更新账号 != null ? !更新账号.equals(that.更新账号) : that.更新账号 != null) return false;
        if (更新时间 != null ? !更新时间.equals(that.更新时间) : that.更新时间 != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = 险种编号 != null ? 险种编号.hashCode() : 0;
        result = 31 * result + (保险公司编号 != null ? 保险公司编号.hashCode() : 0);
        result = 31 * result + (许可 != null ? 许可.hashCode() : 0);
        result = 31 * result + (车型编号 != null ? 车型编号.hashCode() : 0);
        result = 31 * result + (车型平均价格 != null ? 车型平均价格.hashCode() : 0);
        result = 31 * result + (险种 != null ? 险种.hashCode() : 0);
        result = 31 * result + (参数 != null ? 参数.hashCode() : 0);
        result = 31 * result + (保费 != null ? 保费.hashCode() : 0);
        result = 31 * result + (是否不计免赔 != null ? 是否不计免赔.hashCode() : 0);
        result = 31 * result + (不计免赔 != null ? 不计免赔.hashCode() : 0);
        result = 31 * result + (是商业险 != null ? 是商业险.hashCode() : 0);
        result = 31 * result + (保险附加参数 != null ? 保险附加参数.hashCode() : 0);
        result = 31 * result + (客户类别 != null ? 客户类别.hashCode() : 0);
        result = 31 * result + (保险方案备注 != null ? 保险方案备注.hashCode() : 0);
        result = 31 * result + (更新账号 != null ? 更新账号.hashCode() : 0);
        result = 31 * result + (更新时间 != null ? 更新时间.hashCode() : 0);
        return result;
    }
}
